home *** CD-ROM | disk | FTP | other *** search
/ TOS Silver 2000 / TOS Silver 2000.iso / programm / MM2_DEV / S / MYUTIL / CMPKEYS.M < prev    next >
Encoding:
Text File  |  1989-03-10  |  2.2 KB  |  76 lines

  1. MODULE CmpKeys;
  2.  
  3. FROM InOut IMPORT Write, WriteLn, WriteString, WriteInt, Read, ReadString;
  4.  
  5. FROM Files IMPORT File, Access, Open, Close, State;
  6.  
  7. FROM Binary IMPORT ReadBlock;
  8.  
  9. FROM Directory IMPORT DirQuery, DirEntry, FileAttrSet;
  10.  
  11. FROM Strings IMPORT String, Empty, Append, Concat;
  12.  
  13. VAR n1, n2: String;
  14.     ok: BOOLEAN;
  15.     c: CHAR;
  16.     res: INTEGER;
  17.  
  18. PROCEDURE checkKey (path: ARRAY OF CHAR; entry: DirEntry): BOOLEAN;
  19.  
  20.   VAR s: String;
  21.       f: File;
  22.       dat1, dat2: RECORD dummy: CARDINAL; key: LONGCARD END;
  23.  
  24.   BEGIN
  25.     Concat (path, entry.name, s, ok);
  26.     Open (f, s, readOnly);
  27.     IF State (f) < 0 THEN
  28.       WriteLn;
  29.       WriteString ('Open-Error on first file !');
  30.       RETURN FALSE
  31.     END;
  32.     ReadBlock (f, dat1);
  33.     Close (f);
  34.     
  35.     Concat (n2, entry.name, s, ok);
  36.     Open (f, s, readOnly);
  37.     IF State (f) < 0 THEN
  38.       WriteLn;
  39.       WriteString ('Open-Error on second file !');
  40.       RETURN FALSE
  41.     END;
  42.     ReadBlock (f, dat2);
  43.     Close (f);
  44.     
  45.     IF dat1.key # dat2.key THEN
  46.       WriteLn;
  47.       WriteString ('Different keys: ');
  48.       WriteString (entry.name);
  49.     END;
  50.     
  51.     RETURN TRUE
  52.   END checkKey;
  53.  
  54. BEGIN
  55.   WriteString ('First folder ? ');
  56.   ReadString (n1);
  57.   IF Empty (n1) THEN RETURN END;
  58.   
  59.   WriteString ('Second folder ? ');
  60.   ReadString (n2);
  61.   IF Empty (n2) THEN RETURN END;
  62.   
  63.   Append ('*.*', n1, ok);
  64.   DirQuery (n1 , FileAttrSet {}, checkKey, res);
  65.   IF res < 0 THEN
  66.     WriteLn;
  67.     WriteString ('Error #');
  68.     WriteInt (res,0)
  69.   END;
  70.   
  71.   WriteLn;
  72.   Read (c)
  73. END CmpKeys.
  74. (* $FFF687CC$FFF687CC$FFF687CC$FFF687CC$FFF687CC$FFF687CC$FFF687CC$FFF687CC$FFF687CC$FFF687CC$FFF687CC$FFF687CC$FFF687CC$FFF687CC$FFF687CC$000005BB$FFF687CC$FFF687CC$FFF687CC$FFF687CC$FFF687CC$FFF687CC$FFF687CC$FFF687CC$FFF687CC$FFF687CC$FFF687CC$FFF687CC$FFF687CC$FFF687CC$FFF687CC$FFF687CC$FFF687CC$FFF687CC$FFF687CC$FFF687CC$FFF687CC$FFF687CC$FFF687CC$FFF687CC$FFF687CC$FFF687CCÇ$00000592T.......T.......T.......T.......T.......T.......T.......T.......T.......T.......$00000481$0000023D$0000032A$00000475$0000016F$00000639$000005D9$00000631$0000004A$00000592$0000049C$00000429$0000049C$00000447$0000049C$00000462¿ÇÇ*)
  75.